home *** CD-ROM | disk | FTP | other *** search
- Path: newshost.lanl.gov!tanmoy
- From: tanmoy@qcd.lanl.gov (Tanmoy Bhattacharya)
- Newsgroups: comp.lang.ada,comp.lang.c,comp.lang.c++
- Subject: Re: C/C++ knocks the crap out of Ada
- Date: 29 Feb 1996 21:41:12 GMT
- Organization: Los Alamos National Laboratory
- Distribution: world
- Message-ID: <TANMOY.96Feb29144112@qcd.lanl.gov>
- References: <JSA.96Feb16135027@organon.com> <4gaa6l$8mk@post.gsfc.nasa.gov>
- <4gd94r$isu@mack.rt66.com> <1996Feb22.005518.13396@leeweyr.sccsi.com>
- <4gvrffINNlqo@anvil.ugrad.cs.ubc.ca>
- <4h4j31$1ga3@watnews1.watson.ibm.com>
- NNTP-Posting-Host: qcd.lanl.gov
- Mime-Version: 1.0
- Content-Type: text
- In-reply-to: ncohen@watson.ibm.com's message of 29 Feb 1996 16:09:05 GMT
-
-
- Oh what the heck! Once in a lifetime is not that bad: let me make just
- a single post in the language war debate. I will try to limit my
- further posts to responses to retorts that are clearly wrong. If
- I have an argumentative response, I shall keep silent instead:
- language wars are rarely useful.
-
- In article <4h4j31$1ga3@watnews1.watson.ibm.com>
- ncohen@watson.ibm.com (Norman H. Cohen) writes:
-
- <snip>
- NHC: When someone mentions a language "for which no two implementations are in
- NHC: agreement", it is C that springs to mind. Much of the Harbison-Steele
- NHC: book is devoted to explaining the distinctions among K&R C, "traditional"
- NHC: C (which includes extensions made after 1978), and ANSI C. They describe
- NHC: the Bell Labs Portable C Compiler as "a de facto standard for the
- NHC: traditional language." I have heard many C programmers express the
- NHC: opinion that portability of C programs is best insured by writing in K&R
- NHC: C rather than in ANSI C! And then on top of this, we have post-ANSI
-
- It just shows that C is much more widely used than ADA. As more people
- find the limitations of the language, they inist on extending it in
- often incompatible ways. If ADA was used by even a small fraction of
- the people that use C, or even on a small fraction of the machines as
- the regular default compiler, or if it were used even for a small
- fraction of the various projects that C was used for, market forces
- would tend to produce enhancements to it, ultimately producing as
- incompatible implementations as exist for C.
-
- Furthermore, C was in common use long before it was standardized. When
- ANSI C came along, many vendors came along and tried to make money by
- selling compilers for it: whereas the K&R C version continued to be
- bundled along with the standard software. The reason K&R C survives is
- probably this. I am sure if a non-standard version of ADA were
- historically available for free, it would remain in popular use over
- standard certified version. Historically, ADA simply does not have a
- following, and so these considerations are meaningless in that
- context.
-
- Today, the international community is agreed on a definition of
- C. Free ANSI C compilers are available (e.g. gcc with the -pedantic
- flag). Vendors are moving towards providing ANSI C as their main
- compiler. Specialized applications (supercomputers etc.) are also
- moving towards ANSI C as the base language over which to provide
- needed extensions. Things will change, and one should think of ANSI C
- as the only language that deserves to be called C anymore.
-
- And yes, there are free software writers who have stopped writing
- pre-ANSI code on grounds of `portability'. A fossil should be
- relegated to its true place, and that is happening. Historical
- processes take time, but they are worth it. I would rather use an ugly
- language that grew out of standardizing the true needs of the
- programming community, than one designed by fiat by any single
- committee: and, I am firm in my belief that most often I will be
- correct in my choice.
-
- NHC: dialects such as GNU C and Microsoft C foisted upon us by those who feel
- NHC: they are in a position to impose their own de facto standards. For
- NHC: example, in the description of the -pedantic option in section 2.3 of
- NHC: "Using GNU CC," Stallman writes:
- NHC:
- NHC: A feature to report any failure to conform to ANSI C might be useful
- NHC: in some instances, but would require considerable additional work and
- NHC: would be quite different from '-pedantic'. We recommend, rather,
- NHC: that users take advantage of the extensions of GNU C and disregard
- NHC: the limitations of other compilers. Aside from certain
- NHC: supercomputers and obsolete small machines, thre is less and less
- NHC: reason ever to use any other C compiler other than for bootstrapping
- NHC: GNU CC.
-
- That is clear arrogance. And, hopefully, there are enough vendors who
- will stop this from happening.
-
- NHC:
- NHC: The culture in the Ada community is quite different. The need to pass a
-
- A minuscule community can have a well defined culture. A large and
- varied community cannot.
-
- NHC: rigorous validation suite to be approved for use on U.S. Department of
- NHC: Defense projects, and the requirement in the standard itself to reject
-
- Even if one department of one country forbids the use of C, it would
- have little effect on the use of the language. One simply cannot place
- such requirements on a language which has survived in the
- marketplace.
-
- NHC: certain forms of nonconformance at compile time, have led compiler
-
- So does the C standard.
-
- NHC: writers to implement the standard strictly and consistently.
-
- No. What has lead to consistency is the small number of users with
- homogeneous needs.
-
- NHC: To the extent that Ada compiler writers have sensed the need for
- NHC: extensions, these extensions have been in the form of "changeable parts"
- NHC: anticipated by the standard--implementation-defined attributes, pragmas,
- NHC: and packages. Many of these implementation variations--for exmaple,
-
- One can do that when the standard can anticipate the required
- attributes. Did the ADA standard anticipate the need to specify how to
- distribute an array over 1024 nodes of a machine? In a multithreaded
- environment, did they anticipate how to specify which thread runs on
- which node? Maybe they did, because the standard is recent, but have
- they anticipated the next machine architecture to come along?
- Doesn't matter: because people working on the state-of-the-art
- hardware are unlikely to use ADA for developing their projects: but
- they are very likely to use C.
-
- NHC: vendor-specific packages for command-line argument retrieval--have now
- NHC: been replaced by standard versions in Ada 95.
-
- Cheers
- Tanmoy
- --
- tanmoy@qcd.lanl.gov(128.165.23.46) DECNET: BETA::"tanmoy@lanl.gov"(1.218=1242)
- Tanmoy Bhattacharya O:T-8(MS B285)LANL,NM87545 H:#9,3000,Trinity Drive,NM87544
- Others see <gopher://yaleinfo.yale.edu:7700/00/Internet-People/internet-mail>,
- <http://alpha.acast.nova.edu/cgi-bin/inmgq.pl>or<ftp://csd4.csd.uwm.edu/pub/
- internetwork-mail-guide>. -- <http://nqcd.lanl.gov/people/tanmoy/tanmoy.html>
- fax: 1 (505) 665 3003 voice: 1 (505) 665 4733 [ Home: 1 (505) 662 5596 ]
-